kk muito bom ms banana... ja tinha pensado q isso seria uma flag mas... xD
-ps: o deles eh gif heim... uahuahauh-
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

kk muito bom ms banana... ja tinha pensado q isso seria uma flag mas... xD
-ps: o deles eh gif heim... uahuahauh-
Editado Abril 6 por Slicer
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino

Mais isso não é culpa minha, se alguém quiser fazer uma função em c++ para ler gif, fique a vontade xD.
E também podemos fazer um loop infinito:
setMonsterCave(32239, 32240, 7, "dragon", "hihi") scheduleEvent(function() removeMonsterCave(32239, 32240, 7, "dragon", "hihi") setMonsterCave(32239, 32240, 7, "dragon2", "hihi") scheduleEvent(function() removeMonsterCave(32239, 32240, 7, "dragon2", "hihi") setMonsterCave(32239, 32240, 7, "dragon", "hihi") end, 2000) end, 5000)
agora só por um think na função e pronto, zoa '-'
Editado Abril 6 por BananaFight
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

/\ auhauhauh bem pensado, bem pensado... kkk zoa²
info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

Muito interessante, essa seção aqui vai ser legal de ver as coisas prontas de otclient.
Tentei fazer como vc disse mais nao foi aqui nao.
info
Grupo: Visconde
Registrado: 22/11/12
Posts: 267
Reputação: +26
Gênero: Masculino
Char no Tibia: ADM Kabo

Error Minimap Nao Mostra...
DEFAULT_ZOOM = 60
MAX_FLOOR_UP = 0
MAX_FLOOR_DOWN = 15
navigating = false
minimapWidget = nil
minimapButton = nil
minimapWindow = nil
--[[
Known Issue (TODO):
If you move the minimap compass directions and
you change floor it will not update the minimap.
]]
function init()
connect(g_game, {
onGameStart = online,
onGameEnd = offline,
})
connect(LocalPlayer, { onPositionChange = center })
g_keyboard.bindKeyDown('Ctrl+M', toggle)
minimapButton = TopMenu.addRightGameToggleButton('minimapButton', tr('Minimap') .. ' (Ctrl+M)', 'minimap.png', toggle)
minimapButton:setOn(true)
minimapWindow = g_ui.loadUI('minimap.otui', modules.game_interface.getRightPanel())
minimapWindow:setContentMinimumHeight(64)
minimapWindow:setContentMaximumHeight(256)
minimapWidget = minimapWindow:recursiveGetChildById('minimap')
g_mouse.bindAutoPress(minimapWidget, compassClick, nil, MouseRightButton)
g_mouse.bindAutoPress(minimapWidget, compassClick, nil, MouseLeftButton)
minimapWidget:setAutoViewMode(false)
minimapWidget:setViewMode(1) -- mid view
minimapWidget:setDrawMinimapColors(true)
minimapWidget:setMultifloor(false)
minimapWidget:setKeepAspectRatio(false)
minimapWidget.onMouseRelease = onMinimapMouseRelease
minimapWidget.onMouseWheel = onMinimapMouseWheel
reset()
minimapWindow:setup()
end
function terminate()
disconnect(g_game, {
onGameStart = online,
onGameEnd = offline,
})
disconnect(LocalPlayer, { onPositionChange = center })
if g_game.isOnline() then
online()
setMonsterCave(1061, 907, 7, "CPicon", "Centro Pokemon")
removeMonsterCave(1061, 907, 7, "CPicon", "Centro Pokemon")
end
end
g_keyboard.unbindKeyDown('Ctrl+M')
minimapButton:destroy()
minimapWindow:destroy()
end
function online()
reset()
loadMap()
end
function offline()
saveMap()
end
function loadMap()
local clientVersion = g_game.getClientVersion()
local minimapFile = '/minimap_' .. clientVersion .. '.otcm'
if g_resources.fileExists(minimapFile) then
g_map.clean()
g_map.loadOtcm(minimapFile)
end
end
function saveMap()
local clientVersion = g_game.getClientVersion()
local minimapFile = '/minimap_' .. clientVersion .. '.otcm'
g_map.saveOtcm(minimapFile)
end
function toggle()
if minimapButton:isOn() then
minimapWindow:close()
minimapButton:setOn(false)
else
minimapWindow:open()
minimapButton:setOn(true)
end
end
function setMonsterCave(posx, posy, posz, icon, description)
local pos = {}
pos.x = posx
pos.y = posy
pos.z = posz
minimapWidget:addFlag(pos, icon, description)
end
function removeMonsterCave(posx, posy, posz, icon, description)
local pos = {}
pos.x = posx
pos.y = posy
pos.z = posz
minimapWidget:removeFlag(pos, icon, description)
end
function isClickInRange(position, fromPosition, toPosition)
return (position.x >= fromPosition.x and position.y >= fromPosition.y and position.x <= toPosition.x and position.y <= toPosition.y)
end
function reset()
local player = g_game.getLocalPlayer()
if not player then return end
minimapWidget:followCreature(player)
minimapWidget:setZoom(DEFAULT_ZOOM)
end
function center()
local player = g_game.getLocalPlayer()
if not player then return end
minimapWidget:followCreature(player)
end
function compassClick(self, mousePos, mouseButton, elapsed)
if elapsed < 300 then return end
navigating = true
local px = mousePos.x - self:getX()
local py = mousePos.y - self:getY()
local dx = px - self:getWidth()/2
local dy = -(py - self:getHeight()/2)
local radius = math.sqrt(dx*dx+dy*dy)
local movex = 0
local movey = 0
dx = dx/radius
dy = dy/radius
if dx > 0.5 then movex = 1 end
if dx < -0.5 then movex = -1 end
if dy > 0.5 then movey = -1 end
if dy < -0.5 then movey = 1 end
local cameraPos = minimapWidget:getCameraPosition()
local pos = {x = cameraPos.x + movex, y = cameraPos.y + movey, z = cameraPos.z}
minimapWidget:setCameraPosition(pos)
end
function onButtonClick(id)
if id == "zoomIn" then
minimapWidget:setZoom(math.max(minimapWidget:getMaxZoomIn(), minimapWidget:getZoom()-15))
elseif id == "zoomOut" then
minimapWidget:setZoom(math.min(minimapWidget:getMaxZoomOut(), minimapWidget:getZoom()+15))
elseif id == "floorUp" then
local pos = minimapWidget:getCameraPosition()
pos.z = pos.z - 1
if pos.z > MAX_FLOOR_UP then
minimapWidget:setCameraPosition(pos)
end
elseif id == "floorDown" then
local pos = minimapWidget:getCameraPosition()
pos.z = pos.z + 1
if pos.z < MAX_FLOOR_DOWN then
minimapWidget:setCameraPosition(pos)
end
end
end
function onMinimapMouseRelease(self, mousePosition, mouseButton)
if navigating then
navigating = false
return
end
local pos = self:getPosition(mousePosition)
if pos and mouseButton == MouseLeftButton and self:isPressed() then
local dirs = g_map.findPath(g_game.getLocalPlayer():getPosition(), pos, 127, PathFindFlags.AllowNullTiles)
if #dirs == 0 then
modules.game_textmessage.displayStatusMessage(tr('There is no way.'))
return true
end
g_game.autoWalk(dirs)
return true
end
return false
end
function onMinimapMouseWheel(self, mousePos, direction)
if direction == MouseWheelUp then
self:zoomIn()
else
self:zoomOut()
end
end
function onMiniWindowClose()
minimapButton:setOn(false)
end
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino

Acabei de testar e funcionou 100%
Você deixou no diretório correto ?
otclient-master\data\images\game\minimap
E no nome da imagem você adicionou o flag antes ?, Deixando flagNomeDaImagem.png
info
Grupo: Campones
Registrado: 07/01/13
Posts: 36
Reputação: +3
Char no Tibia: Ryous Costa

Funcionou perfeitamente aqui! Obrigado! ![]()
info
Grupo: Campones
Registrado: 26/04/13
Posts: 92
Reputação: +5

Interessante,obrigado por disponibilizar,pretendo adicionar isto no meu OTClient!
Fiz tudo certo, mas não funcionou. Não aparece no mapa
info
Grupo: Campones
Registrado: 04/05/13
Posts: 43
Reputação: 0
Char no Tibia: Liu King

tem q ser a versão q ele esplico no topico se n da errado msm
info
Grupo: Visconde
Registrado: 23/02/13
Posts: 437
Reputação: +71
Gênero: Masculino

info
Grupo: Campones
Registrado: 19/06/18
Posts: 8
Reputação: 0
Gênero: Masculino

Amigo o ícone do minimapa some quando eu coloco essa função
O que eu faço ?
Em 06/04/2013 em 02:53, BananaFight disse:
Bom, como acho que todos ja viram o map do servidor de poketibia (Pxg) ele mostra icones, nomes etc no minimap, e hoje vim trazer isso para vocês
![]()
Nome: Map IconDescrição: Adiciona um icone no minimapAutor: Eduardo Vicente (Banana Fight)Website: www.xtibia.com
Versão 1.0
Features: Criar Icones no minimap
![]()
Instalação
dentro de modules/game_minimap/minimap.lua
embaixo de :
function toggle()if minimapButton:isOn() thenminimapWindow:close()minimapButton:setOn(false)elseminimapWindow:open()minimapButton:setOn(true)endend
Você adiciona a função :
function setMonsterCave(posx, posy, posz, icon, description)local pos = {}pos.x = posxpos.y = posypos.z = poszminimapWidget:addFlag(pos, icon, description)endfunction removeMonsterCave(posx, posy, posz, icon, description)local pos = {}pos.x = posxpos.y = posypos.z = poszminimapWidget:removeFlag(pos, icon, description)end
Como usar
setMonsterCave(Posição X do map, Posição Y do map,Posição Z do map, "Nome da Imagem", "Descrição que vai aparecer")
Obs: como eu usei uma função que já existe você vai te que seguir um padrão na hora de adicionar o nome da sua imagem.
Exemplo: O nome da minha imagem é "dragonicon.png", para que eu possa usar ela no script eu tenho que adicionar essa imagem dentro da pasta "data/images/game/minimap/", e vou ter que renomear essa imagem para "flagdragonicon.png", Ai depois de ter feito isso dentro do meu script quando eu for fazer o script adicionar essa imagem eu vou fazer da seguinte maneira :
setMonsterCave(32238, 32240, 7, "dragonicon", "Dragon Cave")
Se você ainda não entendeu é da seguinte forma, você tem uma imagem com nome "test.png", você vai adiciona a imagem no lugar certo, com o nome "flagtest.png", ai dentro do script você só usa "test", pois o script já sabe que vai ter que juntar flag+nome da imagem que você adicionou+.png.
Obs 2: Sua imagem tem que ter o fundo transparente
Obs 3: quando mais transparente for a imagem, mais do map aparece e causa o efeito igual ao do PXG, do map se abrindo.
Exemplo de uso :
arquivo : minimap.lua
function init()minimapButton = modules.client_topmenu.addRightGameToggleButton('minimapButton', tr('Minimap') .. ' (Ctrl+M)', '/images/topbuttons/minimap', toggle)minimapButton:setOn(true)minimapWindow = g_ui.loadUI('minimap', modules.game_interface.getRightPanel())minimapWindow:setContentMinimumHeight(64)minimapWidget = minimapWindow:recursiveGetChildById('minimap')local gameRootPanel = modules.game_interface.getRootPanel()g_keyboard.bindKeyPress('Alt+Left', function() minimapWidget:move(1,0) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Right', function() minimapWidget:move(-1,0) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Up', function() minimapWidget:move(0,1) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Down', function() minimapWidget:move(0,-1) end, gameRootPanel)g_keyboard.bindKeyDown('Ctrl+M', toggle)g_keyboard.bindKeyDown('Ctrl+Shift+M', toggleFullMap)minimapWindow:setup()connect(g_game, {onGameStart = online,onGameEnd = offline,})connect(LocalPlayer, {onPositionChange = updateCameraPosition})if g_game.isOnline() thenonline()setMonsterCave(32239, 32240, 7, "dragon", "hihi")removeMonsterCave(32239, 32240, 7, "dragon", "hihi")endend
algem tenhe mais actualizado?
2020
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino
Bom, como acho que todos ja viram o map do servidor de poketibia (Pxg) ele mostra icones, nomes etc no minimap, e hoje vim trazer isso para vocês
Versão 1.0
Instalação
dentro de modules/game_minimap/minimap.lua
embaixo de :
Você adiciona a função :
function setMonsterCave(posx, posy, posz, icon, description)local pos = {}pos.x = posxpos.y = posypos.z = poszminimapWidget:addFlag(pos, icon, description)endfunction removeMonsterCave(posx, posy, posz, icon, description)local pos = {}pos.x = posxpos.y = posypos.z = poszminimapWidget:removeFlag(pos, icon, description)endComo usar
Obs: como eu usei uma função que já existe você vai te que seguir um padrão na hora de adicionar o nome da sua imagem.
Exemplo: O nome da minha imagem é "dragonicon.png", para que eu possa usar ela no script eu tenho que adicionar essa imagem dentro da pasta "data/images/game/minimap/", e vou ter que renomear essa imagem para "flagdragonicon.png", Ai depois de ter feito isso dentro do meu script quando eu for fazer o script adicionar essa imagem eu vou fazer da seguinte maneira :
setMonsterCave(32238, 32240, 7, "dragonicon", "Dragon Cave")
Se você ainda não entendeu é da seguinte forma, você tem uma imagem com nome "test.png", você vai adiciona a imagem no lugar certo, com o nome "flagtest.png", ai dentro do script você só usa "test", pois o script já sabe que vai ter que juntar flag+nome da imagem que você adicionou+.png.
Obs 2: Sua imagem tem que ter o fundo transparente
Obs 3: quando mais transparente for a imagem, mais do map aparece e causa o efeito igual ao do PXG, do map se abrindo.
Exemplo de uso :
arquivo : minimap.lua
function init()minimapButton = modules.client_topmenu.addRightGameToggleButton('minimapButton', tr('Minimap') .. ' (Ctrl+M)', '/images/topbuttons/minimap', toggle)minimapButton:setOn(true)minimapWindow = g_ui.loadUI('minimap', modules.game_interface.getRightPanel())minimapWindow:setContentMinimumHeight(64)minimapWidget = minimapWindow:recursiveGetChildById('minimap')local gameRootPanel = modules.game_interface.getRootPanel()g_keyboard.bindKeyPress('Alt+Left', function() minimapWidget:move(1,0) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Right', function() minimapWidget:move(-1,0) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Up', function() minimapWidget:move(0,1) end, gameRootPanel)g_keyboard.bindKeyPress('Alt+Down', function() minimapWidget:move(0,-1) end, gameRootPanel)g_keyboard.bindKeyDown('Ctrl+M', toggle)g_keyboard.bindKeyDown('Ctrl+Shift+M', toggleFullMap)minimapWindow:setup()connect(g_game, {onGameStart = online,onGameEnd = offline,})connect(LocalPlayer, {onPositionChange = updateCameraPosition})if g_game.isOnline() thenonline()setMonsterCave(32239, 32240, 7, "dragon", "hihi")removeMonsterCave(32239, 32240, 7, "dragon", "hihi")endendEditado Agosto 3 por Bennyyw